home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PCMania 48
/
PCMania CD48_1.iso
/
pcmania
/
dscene48
/
ejemplo2.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1996-07-07
|
1KB
|
51 lines
PROGRAM mueve_un_cuadrado_por_pantalla_con_pantalla_virtual;
Uses Dos, Crt;
Procedure ModeSet(Mode : Byte); ASSEMBLER;
ASM
mov ah,0
mov al,[Mode]
int 10h
END;
Procedure Borra_Pantalla(Segmento : Word);
Begin
FillChar(Ptr(Segmento,0)^, 64000, 0);
End;
Procedure Pon_Cuadrado(X,Y,Segmento : Word);
VAR
iX, iY : Word;
Begin
For iY := Y to Y+10 do
Begin
For iX := X to X+10 do Mem[Segmento:(320*iY)+iX] := 9;
End;
End;
VAR
X,Y : Word;
Virtual : Pointer;
Begin
ModeSet($13);
GetMem(Virtual, 320*200);
Y:=100; X:=0;
While (X<320) do
Begin
Borra_Pantalla(Seg(Virtual^));
Pon_Cuadrado(X,Y,Seg(Virtual^));
Move(Virtual^,Mem[$a000:0],64000);
X:=X+1;
End;
ModeSet(3);
FreeMem(Virtual, 320*200);
End.